package com.ag.common.api;

import lombok.AllArgsConstructor;
import lombok.Getter;

import javax.servlet.http.HttpServletResponse;


@Getter
@AllArgsConstructor
public enum ResultCode implements IResultCode {

    /**
     * 操作成功
     */
    SUCCESS(0, "操作成功"),

    /**
     * 业务异常
     */
    FAILURE(HttpServletResponse.SC_BAD_REQUEST, "业务异常"),

    /**
     * token 校验失败
     */
    TOKEN_VALIDATE_FAILURE(4000, "token校验失败"),

    /**
     * 用户未注册
     */
    USER_NOT_REGISTER(4001, "用户未注册"),

    /**
     * 用户已注册
     */
    USER_ALREADY_REGISTER(4002, "用户已注册"),

    /**
     * 无效参数
     */
    PARAMETER_INVALID(4003, "参数缺失"),

    ADMIN_ACCOUNT_OR_PWD_ERROR(4004, "用户名或密码错误"),

    ROLE_EXIST(4005, "角色已存在"),

    ACCOUNT_EXIST(4006, "账号已存在"),

    NO_PERMISSIONS(4007, "权限不足！"),
    NO_ADMIN_AUTH(4008, "不允许操作超级管理员"),
    NO_ADMIN_STATUS(4009, "不能修改超级管理员状态"),
    NO_ADMINROLE_AUTH(4010, "不允许操作管理员角色"),
    NO_ADMINROLE_STATUS(4011, "不能修改管理员角色状态"),

    USER_NAME_PWD_NULL(4012, "账号和密码不能为空"),

    USER_PWD_NULL(4013, "密码不能为空"),
    USER_INEQUALITY(4014, "两次密码不一致"),
    USER_OLD_PWD_ERROR(4015, "原来密码不正确"),
    USER_DISABLE(4016, "此用户已被禁用"),
    ;

    /**
     * code编码
     */
    final int code;
    /**
     * 中文信息描述
     */
    final String message;
}
